package com.demo.java.OD201_250.OD213;

import java.util.Scanner;
import java.util.stream.IntStream;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【商人买卖 or 贪心的商人】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145910400
 */
public class OdMain {
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            // 读取商品数量和天数
            int number = sc.nextInt();
            int days = sc.nextInt();

            // 读取商品的库存数量
            int[] item = IntStream.range(0, number)
                    .map(i -> sc.nextInt())
                    .toArray();

            // 读取每个商品的价格变化
            int[][] item_price = IntStream.range(0, number)
                    .mapToObj(i -> IntStream.range(0, days)
                            .map(j -> sc.nextInt())
                            .toArray())
                    .toArray(int[][]::new);

            // 计算总利润
            int res = IntStream.range(0, number)
                    .flatMap(i -> IntStream.range(0, days - 1)
                            .filter(j -> item_price[i][j + 1] > item_price[i][j])
                            .map(j -> (item_price[i][j + 1] - item_price[i][j]) * item[i]))
                    .sum();

            // 输出总利润
            System.out.println(res);
        }
    }
}